Microprocessors: Experiments for the Motorola 6800 By Kerry Urbaniak Published: 1994 ISBN: 0-8273-5849-0 Table of Contents Lab 1 - Entering and Executing a Program Lab 2 - Data Transfer Lab 3 - Arithmetic Instructions Lab 4 - Branching Instructions Lab 5 - Subroutines Lab 6 - Logic, Shift and Rotate Instructions Lab 7 - Input/Output Addressing Lab 8 - I/O Counter Lab 9 - Interrupts Lab 10 - Hardware Interrupt 2 Lab 11 - Programming Peripheral Interface (8255) Lab 12 - Parallel Printer Interface Lab 13 - Memory Interfacing Appendix A - 6800 Instruction Set Appendix B - Adapting to Other Trainers Appendix C - Datasheets Preface This lab manual is an introduction to microprocessor programming and interfacing. Its purpose is to provide an understanding of general microprocessor concepts to someone with no prior microprocessor training or knowledge. It is not intended to teach someone everything there is to know about the Motorola 6800 Microprocessor. The labs are designed to teach concepts common to all microprocessors, so the knowledge gained can easily be used to further study, or work with, any type of microprocessor. For this reason, only the details of the microprocessor necessary to perform the lab and understand the concepts are covered. The manual is designed to accompany any introductory text on micro- processors. Since each author covers microprocessor concepts in different sequences, the lab and text sequence may not coincide with each other. The key terms at the beginning of each lab provide information on the topics covered in the lab. These concepts need to be covered prior to performing the lab, either by covering the information from the text in use, or by covering the discussion material in each lab. The information in the discussion section of the labs is sufficient to teach the concepts without the use of a separate text, although this information is somewhat narrow in focus. The signals used in the interface labs are common to almost any trainer using the Motorola 6800 Microprocessor. Very few (if any) modifications are needed to run the labs on different trainers. Only the details of the monitor program, such as keyboard and display routines, are specific to a particular trainer. Appendix B provides information on adapting the labs to specific trainers. An understanding of digital electronics is necessary to perform the labs. This includes gate logic, numbering systems, combinational logic, memory circuits, and so on. These concepts should be understood before using this lab manual. This lab manual uses binary, hexadecimal, and decimal numbering systems. All program addresses, op codes, and numbers used in programs are in hex form. Decimal numbers used in the manual will be followed by a lower-case "d" when the number's form is not obvious. The sequence of the labs is designed to build on the information in the previous labs. This is especially true with the interface labs, in which the circuit from one lab is modified and used in the following lab. For this reason, it is suggested that the sequence of the labs not be altered. Appendix C contains the pinout and data sheets for the parts used in the labs. These are common ICs easily obtained from most electronic component retailers. If the trainer in use has a tape or disk interface, the use of this to save programs should be introduced beginning with Lab 5 or 6. This will save considerable time at entering the op codes with the keyboard for subroutines used by the labs. To users of Gibson's Microprocessor Fundamentals: Concepts and Applications: This lab manual was written to follow Gibson's text as closely as possible. Some concepts in the lab are covered earlier than they are in Gibson's text. This is necessary to provide the information needed to run and understand the lab. As with any text, the information can be covered from the discussion part of the lab, or by modifying the sequence of the text. The labs correspond to Gibson's chapters as follows: Labs 1 and 2-- Chapter 8 Labs 3 and 4-- Chapter 9 Labs 5 and 6-- Chapter 10 Labs 7 and 8-- Chapter 11 Labs 9 and 10-- Chapter 12 Labs 11, 12, 13-- Chapter 16 The first seven chapters of this text cover various digital concepts that apply to microprocessors. This information should be understood before running these labs.